package com.woniuxy.commons.service.factory;

import com.woniuxy.commons.entity.Goods;
import com.woniuxy.commons.service.ProviderService;
import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;

import java.util.Arrays;
import java.util.List;

/*
* 工厂类：用来创建服务降级（fallback）方法
* */
@Component //加入IOC容器
public class ProviderServiceFactory implements FallbackFactory<ProviderService> {
    @Override
    public ProviderService create(Throwable throwable) {
        //匿名内部类，其中的方法就是service对应的fallback方法
        return new ProviderService() {
            @Override
            public List<Goods> all() {
                List<Goods> list = Arrays.asList(
                        new Goods(200,"服务器正在忙",100)
                );
                return list;
            }

            @Override
            public Goods find(int id) {
                return null;
            }

            @Override
            public boolean add(Goods goods) {
                return false;
            }

            @Override
            public void update(Goods goods) {

            }
        };
    }
}
